This invention relates to a dot-matrix display terminal, and more particularly to enhancement of data displayed on a cathode ray tube (CRT) operated in a raster scan mode.
In the raster scan mode, the electron beam is swept across the screen in parallel lines until the entire frame of the screen has been scanned. The beam is controlled to brighten dots at selected points that define symbols, graphs, diagrams and other character forms that convey information.
For alphanumeric display, a frame is typically divided into 80 columns and 24 rows. Each column provides a character space, and each row provides a line of characters. The character space defined by a column and row count is further subdivided into a matrix of dot positions, typically 8.times.11, where each of seven horizontal dot positions in each of ten scan lines may be selectively brightened to make up a character. The useful dot matrix within a character space is thus 7.times.10, leaving a clear scan line to separate lines of characters, and a clear column at the beginning of each character space to separate characters in a line. Consequently, the entire frame displayed is divided into an array of 560.times.264 adjacent dot spaces, although some spaces are used to provide spaces between characters and between lines of characters, and within a matrix, only those actually needed to form a character are used while displaying data.
For graphs diagrams and other forms that convey information, the entire frame constitutes one matrix of 560.times.264 dot spaced. The difference between alphanumeric display and display of such other forms is simply that a character generator is not used, and instead a computer composes the display by sequentially generating data display bits (binary digits) that are combined in a mixer to produce a composite video signal for control of a cathode ray tube (CRT).
An enhanced data display system for alphanumeric characters and other symbols is disclosed in U.S. Pat. No. 4,697,177. The technique applied there consisted of synchronously modulating the horizontal scan of the CRT to produce one sinusoidal oscillation of the electron beam in each dot space of a matrix. The effect produced was to slant each dot inherently elongated into an ellipse because of the finite time required to turn the beam on and then off in producing a dot for display. Otherwise the dots along a vertical character line have visible spaces between them; only horizontal character lines are display as solid lines. That slanting dot technique worked well for filling in space between dots in character lines 90.degree. from the horizontal, and for lines between 90.degree. and the horizontal, but for lines at an angle below the horizontal, the space between dots appears again as the major axis of the ellipse produced for each dot approaches a position normal to the character line, with a maximum space when the character line is at an angle 45.degree. below the horizontal, i.e., below the "horizontal" scan line of the electron beam. An object of this invention is to improve upon that technique to minimize the space between adjacent dots in a dot matrix display, both vertically and horizontally.
For data display purpose, a clock generator operating in the megahertz range is divided down to obtain a 60 Hz vertical (V) sync rate, and down further to get horizontal (H) sync rates, thereby producing a frame display at the rate of 60 per second. This chain of dividers will not only synchronize the data display with the horizontal and vertical scan of frames (noninterlaced fields), but provide the addressing information necessary to read out into a shift register trains of binary digits, where each bit 1 will cause the beam to brighten a dot as a line is scanned. When the entire raster of lines for a frame have been scanned, and all data has been displayed, the data will have been displayed in 560.times.264 dot spaced. A computer which generates or controls the train of 560.times.264 bits will update the information to be displayed in each frame, either directly or through a controller having a random access memory which then provides the data bits in sequence. This generation or control may be for alphanumeric display of data in a space divided into 80 columns and 24 rows of characters in spaced of 8.times.11 dot positions, or for any information that may be composed of a total frame space of 560.times.264 dots. While the number of dots for character space, or a total frame space, may differ in some systems, it should be noted that the technique for enhancing the dot matrix data display to be described is not dependent on the number of dots. However, to illustrate the invention in one specific embodiment a character space of 8.times.11 dot spaces, and a frame of alphanumeric data divided into 80 columns and 24 rows.
For each character space, a shaft register is loaded with a new train of binary digits a a line of data is displayed. These binary digits define the dots to be displayed and, as the last of the previous train is shifted out into a video mixer that combines sync and blanking with the binary digits into a composite signal for display, the next set of binary digits is loaded into the shaft register. In the CRT display unit, a horizontal (H) and vertical (V) drive generator responds to the horizontal and vertical sync pulses to produce the horizontal and vertical drive signals applied to deflection coils, while the binary digits from the shift register, and the blanking signals, are applied to the cathode of the CRT. In that way, the beam is brightened for dots defined by 1 bits out of the shaft register, and blanked at all other times while 0 bits are shifted out and while the blanking signals for line and field retrace are present.
To form a line of characters the clock frequency divider is used to address a random access memory (RAM) for each line of 80 characters, one character at a time in sequence. Each output character code, together with the output of a counter that counts the lines of characters, addresses a character generator implemented with a read only memory (ROM) to produce in sequence the corresponding lines of binary digits that define the characters in the row addressed. A shift register receives the binary digits in parallel for one character at a time in sequence, and converts them into a continuous serial train. After the procedure has been repeated ten times for one line of 80 characters, the address to the RAM is advanced to the next line of 80 characters. In that manner the output of the RAM addresses the character generator to convert the character code out of the ROM into the binary digits that define the positions of dots for the characters.
The number of raster scans per frame is limited, typically to 280. For a block of 80.times.24 characters, with an 8.times.11 dot matrix for each character, for example, there must be 11.times.24=264 raster scans used. The rest of the time (26 raster scans) is not available for data display, and is instead partly used for field retrace, although sometimes 11 raster scans are used for display of operation information, such as terminal status, host messages, set-up mode or function key legends.
As noted hereinbefore, each dot is in actuality displayed as an ellipse with its major axis horizontal due to the velocity of the beam across the CRT screen. Consequently, adjacent horizontally spaced dots run together, while adjacent vertically spaced dots do not, particularly when the width of the dot spaced is reduced in order to display 80 characters in a line. The result is that the characters appear to be made up of discrete dots in vertical and diagonal portions of a characters, and solid bars in horizontal portions. This deficiency in the vertical and diagonal directions provides rather low definition of characters displayed.
A simple way to increase vertical resolution would be to use interlaced fields so that the odd field is displaced a half raster scan spaced, but since the data being displayed is constant until changed, the characters will appear to flicker up and down a half line space. That is quite disturbing to the viewer. It is therefore preferable to use noninterlaced fields (referred to herein for this invention as frames) to display data refreshed 60 times per second. The problem is to enhance the data display within those constraints in a manner that does not have the deficiency of the technique disclosed in the aforesaid patent application.